Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги хакеры / журнал хакер / специальные выпуски / Специальный выпуск 64_Optimized

.pdf
Скачиваний:
15
Добавлен:
20.04.2024
Размер:
6.34 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

сэкономь деньги — закажи журнал в редакции

ВЫГОДА

Цена подписки до 15% ниже, чем в розничной продаже Бонусы, призы и подарки для подписчиков Доставка за счет редакции

ГАРАНТИЯ

Ты гарантированно получишь все номера журнала Единая цена по всей России

СЕРВИС

Заказ удобно оплатить через любое отделение банка Доставка осуществляется заказной бандеролью или курьером

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

КАК ОФОРМИТЬ ЗАКАЗ

1 Заполнить купон и квитанцию

2 Перечислить стоимость подписки через наш банк: ЗАО ММБ

3 Обязательно прислать в редакцию копию оплаченной квитанции с четко заполненным купоном любым из перечисленных способов:

по электронной почте: subscribe@glc.ru;

по факсу: (495) 780-88-24;

по адресу: 119021, Москва, ул. Тимура Фрунзе, д. 11, стр. 44-45,

ÎÎΫГейм Лэнд», отдел подписки.

Внимание!

Подписка оформляется в день обработки купона и квитанции.

купоны, отправленные по факсу или электронной почте, обрабатываются в течение пяти рабочих дней.

купоны, отправленные почтой на адрес редакции, обрабатываются в течение 20-òè äíåé.

Рекомендуем использовать электронную почту или факс. Подписка производится с номера, выходящего через один

календарный месяц после оплаты. Например, если произвести оплату в сентябре, то подписку можно оформить с ноября.

ПОДПИСКА ДЛЯ ЮРИДИЧЕСКИХ ЛИЦ

Москва: ООО «ИНТЕР-ПОЧТА», (495) 500-00-60, www.interpochta.ru

Для получения счета на оплату подписки нужно прислать заявку с названием журнала, периодом подписки, банковскими реквизитами, юридическим и почтовым адресом, телефоном и фамилией ответственного за подписку лица.

подписной купон

стоимость заказа на Хакер Спец + CD

6 месяцев

 

12 месяцев

 

 

 

 

 

900 ðóá. 00 êîï.

 

1740 ðóá. 00 êîï.

 

 

 

 

 

 

 

 

 

 

 

 

стоимость заказа

 

 

на комплект

 

 

 

 

Хакер Спец +

 

 

 

 

 

 

 

 

Хакер + Железо

 

 

6 месяцев

 

12 месяцев

 

 

 

 

 

 

 

 

 

 

 

2550 ðóá. 00 êîï.

 

5040 ðóá. 00 êîï.

 

 

 

 

 

 

 

 

 

 

 

прошу оформить подписку:

 

 

 

 

 

на журнал Хакер Спец + CD

 

 

 

 

 

 

 

 

 

 

на комплект Хакер Спец + Хакер + Железо

 

 

 

 

 

 

 

 

 

 

 

 

 

 

íà

месяцев

 

 

 

 

 

начиная с

200 ã.

 

 

Доставлять журнал по почте на домашний адрес

Доставлять журнал курьером на адрес офиса (по г. Москве)

Подробнее о курьерской доставке читайте ниже*

(отметьте квадрат выбранного варианта подписки)

Ô.È.Î.

дата рождения

адрес доставки: индекс

область/край

город

улица

дом корпус

квартира/офис

телефон ( )

e-mail

сумма оплаты

*Курьерская доставка осуществляется только по Москве на адрес офиса. Для оформления доставки курьером укажите адрес и название фирмы в подписном купоне.

ПО ВСЕМ ВОПРОСАМ, СВЯЗАННЫМ С ПОДПИСКОЙ, ЗВОНИТЕ ПО БЕСПЛАТНЫМ ТЕЛЕФОНАМ: 780-88-29 (ДЛЯ МОСКВИЧЕЙ)

È 8-800-200-3-999 (ДЛЯ РЕГИОНОВ И АБОНЕНТОВ МТС, БИЛАЙН, МЕГАФОН). ВСЕ ВОПРОСЫ ПО ПОДПИСКЕ МОЖНО ПРИСЫЛАТЬ НА АДРЕС: info@glc.ru

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

w

 

 

to

52 |

ТЕОРИЯ

w Click

 

 

 

 

 

 

 

 

 

 

 

 

 

 

o

m

 

 

w

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

 

g

 

 

 

 

 

 

df

 

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

dead

can dance

моделирование Все начинается с создания персонажа. С помощью программы 3D-моделирова- ния мы должны создать 3D-модель человека/монстра, подлежащего анимированию. Я привык к классике — 3D Studio Max (в народе 3DS). Эта классика тяжеловесная и стоит дорого, но очень удобна и люба моему сердцу еще со времен MS DOS-варианта.

Сама программа 3D Studio Max позволяет моделировать сетку персонажа, но тут возможности не заканчиваются. Далее должны быть созданы кости, к ним должны быть привязаны вершины сетки — когда двигается какая-нибудь кость, все связанные с ней вершины также должны перемещаться и изгибаться. Для создания скелета в 3DS есть модуль Character Studio, который еще недавно был отдельной программой. Сейчас он встроен непосредственно в оболочку в меню Character. Чтобы создать реалистичный персонаж, будет маловато знаний одних программных пакетов, потребуются еще и хорошие знания в области анатомии и физики, иначе никто не поверит в реалистичность движений твоего персонажа.

Мы не будем изучать процесс создания моделей и скелетов, так как подобному вопросу должна быть посвящена отдельная статья или даже книга. Если хочешь разобраться в этой теме поглубже, рекомендую прочитать книгу «3DS MAX 6 и Character Studio 4. Анимация персонажей» (авто-

ры Ю. Кулагин и Б. Морозов — http://bhv.ru/books/bo-

ok.php?id=3888). Отличная книга! Но чтобы понять ее, ты должен иметь начальные знания по самой про-

СКЕЛЕТНАЯ АНИМАЦИЯ ОПТОМ И В РОЗНИЦУ

СКЕЛЕТНАЯ АНИМАЦИЯ — НЕ ПРОСТО ДАНЬ МОДЕ, А УДОБНЫЙ И ДОСТАТОЧНО ПРОИЗВОДИТЕЛЬНЫЙ МЕТОД СОЗДАНИЯ РЕАЛИСТИЧНОЙ АНИМАЦИИ ДВИЖЕНИЯ ЛЮДЕЙ И ЖИВОТНЫХ. ЕСЛИ СОЗДАТЬ СЕТКУ (MESH), МАКСИМАЛЬНО ПРИБЛИЖЕННУЮ К РЕАЛЬНОСТИ, И ПРАВИЛЬНО ПРИВЯЗАТЬ К ТАКОЙ СЕТКЕ КОСТИ, ТО АНИМАЦИЯ НА ОСНОВЕ ЭТОГО СКЕЛЕТА ДЕЙСТВИТЕЛЬНО БУДЕТ ПОХОЖА НА РЕАЛЬНУЮ. НО ВОТ ТЫ СЕЛ ЗА КЛАВИАТУРУ И СТОЛКНУЛСЯ С МНОЖЕСТВОМ ПРОБЛЕМ, КОТОРЫЕ НУЖНО РЕШИТЬ. О НЕКОТОРЫХ ПРОБЛЕМАХ И ПОГОВОРИМ |ФЛЕНОВ МИХАИЛ AKA HORRIFIC

«ПРИМЕР СКЕЛЕТНОЙ АНИМАЦИИ ЕСТЬ В СОСТАВЕ DX SDK В ДИРЕКТОРИИ DXSDK\SAMPLES\C++\DIRECT3D\MESHES\ SKINNEDMESH»

грамме 3DS. Авторы описывают только то, что касается анимации персонажей, и опускают базовые понятия моделирования.

Зачем же я завел разговор о моделировании, если не собираюсь рассматривать его? Создание персонажа — это отдельная тема, а сейчас нам нужно понять, что должно быть создано и, соответственно, чем мы будем оперировать в собственной программе.

скелет Посмотрим, из чего состоит скелет. Для иллюстрации и примера я взял один из файлов книги «3DS MAX 6 и Character Studio 4. Анимация персонажей». Найди иллюстрацию в этой статье с дамочкой и стоящим рядом скелетом. Дама — это то, что слева, а скелет — справа. По крайней мере, мне так кажется :). Скелет 3D-мо- дели похож на настоящий скелет человека и состоит из костей, связанных между собой. Если повернуть плечо, то повернется вся рука вплоть до кончиков пальцев. Когда поворачивается кисть руки, поворачиваются и все ее пальцы.

Когда вращаются кости, движутся и связанные точки сетки персонажа. Одна точка сетки может быть привязана к нескольким костям. В этом слу- чае точка сетки смещается в соответствии с указанным весом точки. Если вершина принадлежит двум костям, то по умолчанию вес в обоих случаях будет равен 0,5, то есть при вращении кости на 90 градусов вершина изменит положение только на 45. Так происходит только по умолча- нию. В идеале мы можем настраивать вес самостоятельно (если позволит используемая

программа 3D-графи-

Plug-in для экспорта модели, скелета и анимации в .x-файл

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

E

 

 

 

 

X

 

 

 

 

 

-

 

 

 

 

d

 

 

F

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

to BUY

 

 

 

 

 

 

 

 

 

 

 

w| 53

 

 

 

 

m

w Click

 

 

 

 

o

 

w

 

 

 

 

 

 

 

 

.

 

 

 

 

.c

 

 

 

p

 

 

 

g

 

 

 

 

 

df

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

øåÿ

плечо

грудь

плечо

локоть

левая нога

основная кость

правая нога

локоть

кисть

левая стопа

правая стопа

кисть

палец

палец

палец

палец

палец

палец

ки). Если вершина принадлежит одной кости, то вес ее преобразований равен 1, то есть она будет трансформироваться на все 100%.

Сейчас отвлекусь от темы, чтобы дать один совет: никогда не двигай кости для создания анимации. Все кости только вращаются относительно начала (точки крепления с главной или вышестоящей по иерархии костью). Например, кость руки крепится к плечу, и чтобы рука была протянута вперед, происходит вращение кости относительно плеча. Притом все остальные части руки (локоть, кисть, пальцы) движутся автоматически — перемещать их не нужно, если только ты не хочешь, чтобы от туловища оторвалась рука или нога.

Попробуй подвигать пальцем — и наглядно убедишься, что любые движения пальца — это вращение относительно кисти. Если попытаться двинуть по прямой, то можно выбить палец из сустава. Конечно, встречаются индивидуумы с развитыми суставами, которые производят небольшие прямолинейные движения, но они небольшие (в пределах сустава) и это уже к Лозовскому на прием. Пусть я не врач, мне кажется, что это неизлечимо, в любом слу- чае ненормально и требует обращения в больницу.

экспорт сетки Создав сетку персонажа, скелет и анимацию, сохрани их для последующей загрузки из собственной программы. Вот тут воз-

никает проблема выбора: как сохранить? Формат

.max позволяет хранить всю необходимую информацию, но он слишком сложный для применения в собственных программах. Можно использовать старый формат .3ds, но возникает проблема с сохранением информации о костях и самой скелетной анимации. Эти проблемы можно обойти, но тогда натолкнешься на другие большие проблемы. Придется писать собственные анализаторы и загрузки данных, потом создавать классы или функции для поддержки всего загруженного в программе.

Зачем выдумывать проблемы себе, когда можно использовать формат файла .x, который разработан Microsoft и является открытым, уни-

левая нога

основная кость

правая нога

левая стопа

плечо

грудь

плечо

правая стопа

локоть

øåÿ

локоть

кисть

кисть

палец

палец

палец

палец

палец

палец

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

w

 

 

to

54 |

ТЕОРИЯ

w Click

 

 

 

 

 

 

 

 

 

 

 

 

 

 

o

m

 

 

w

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

 

g

 

 

 

 

 

 

df

 

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

хорошие

советы

1 ПОСЛЕ МОДИФИКАЦИИ МАТРИЦЫ ПРЕОБРАЗОВАНИЙ ОДНОЙ КОСТИ У ТЕБЯ МОГУТ ВОЗНИКНУТЬ ПРОБЛЕМЫ С ПОЛУЧЕНИЕМ ПЕРВОНАЧАЛЬНОГО СОСТОЯНИЯ — МОЙ ПЕРВЫЙ СОВЕТ ПРИЗВАН ИЗБАВИТЬ ТЕБЯ ОТ ЭТОЙ НАПАСТИ. ДЕЛО В ТОМ, ЧТО В ЛЮБОМ СЛУЧАЕ СУЩЕСТВУЕТ КАКАЯ-ТО ПОГРЕШНОСТЬ, КОТОРАЯ СО ВРЕМЕНЕМ НАЧИ- НАЕТ ВЛИЯТЬ НА КАЧЕСТВО СЦЕНЫ. НАПРИМЕР, НОГИ ЧЕЛОВЕКА НЕОЖИДАННО ОТКАЖУТСЯ ВЫРАВНИВАТЬСЯ В ТОТ МОМЕНТ, КОГДА ТЫ ПОПЫТАЕШЬСЯ ОСТАНОВИТЬ СВОЕГО ПЕРСОНАЖА И ПОСТАВИТЬ ЕГО РОВНО. ЛИКВИДИРОВАТЬ ТАКОЙ ЭФФЕКТ ЛЕГКО: МОЖНО СОЗДАТЬ СВОЙ ВАРИАНТ СТРУКТУРЫ D3DXFRAME, ТО ЕСТЬ РАСШИРИТЬ ЕЕ, ДОБАВИВ ЕЩЕ ОДНО ПОЛЕ ТИПА D3DXMATRIX. В ЭТОМ ПОЛЕ МОЖНО ХРАНИТЬ МАТРИЦУ ПРЕОБРАЗОВАНИЙ КОСТИ НА ЭТАПЕ НАЧАЛА АНИМАЦИИ И ПРИ КАЖДОМ ОТОБРАЖЕНИИ СЦЕНЫ ПЛЯСАТЬ ИМЕННО ОТ ЭТОГО ЗНАЧЕНИЯ.

2 ДЛЯ ПОВЫШЕНИЯ ПРОИЗВОДИТЕЛЬНОСТИ ДАМ ЕЩЕ ОДИН СОВЕТ: ЗАРАНЕЕ РАССЧИ- ТАТЬ КЛЮЧЕВЫЕ КАДРЫ, ПО КОТОРЫМ БУДЕТ СТРОИТЬСЯ ДАЛЬНЕЙШАЯ АНИМАЦИЯ. ТАК ТЫ ЗАРАНЕЕ ПОДГОТОВИШЬ ТРАЕКТОРИИ ОСНОВНЫХ ТЕЛОДВИЖЕНИЙ: ХОДЬБЫ, БЕГА, ПРИСЕДАНИЯ, ПРЫЖКОВ И Т.Д. ВО ВРЕМЯ ИГРЫ В ЗАВИСИМОСТИ ОТ СИТУАЦИИ ОСТАНЕТСЯ ТОЛЬКО ВОСПОЛЬЗОВАТЬСЯ УЖЕ РАССЧИТАННЫМИ ТРАЕКТОРИЯМИ, КОТОРЫЕ НЕ ЗАНИМАЮТ МНОГО МЕСТА И МОГУТ БЫТЬ ИСПОЛЬЗОВАНЫ ДЛЯ РАЗЛИЧНЫХ ПЕРСОНАЖЕЙ ОДНОВРЕМЕННО. ОДНАКО ПОМНИ, ЧТО У ВСЕХ ЛЮДЕЙ РАЗНЫЕ ПОХОДКИ, И ОСОБЕННО ОТЛИЧАЮТСЯ МУЖСКИЕ И ЖЕНСКИЕ ПОХОДКИ. ТЕМ НЕ МЕНЕЕ ДАЖЕ ЕСЛИ ТЫ ЗАКРОЕШЬ ГЛАЗА НА ЭТО, В ДИНАМИЧНОЙ СЦЕНЕ ИГРОК НЕ ЗАМЕТИТ ПОДВОХА.

3 ТАК КАК ФОРМАТ .X-ФАЙЛА ОТКРЫТЫЙ

И ЛЕГКО ПОДДАЕТСЯ РАСШИРЕНИЮ, ТО ЗАРАНЕЕ ПРОСЧИТАННУЮ АНИМАЦИЮ МОЖНО ХРАНИТЬ В НЕМ. ДРУГОЕ ДЕЛО, ЧТО ДЛЯ РЕДАКТИРОВАНИЯ ФАЙЛА И СОХРАНЕНИЯ АНИМАЦИИ МОЖЕТ ПОТРЕБОВАТЬСЯ ДОПОЛНИТЕЛЬНАЯ ПРОГРАММА И НЕМНОГО НАПРЯГА В КОДИНГЕ, НО ДЕЛО СТОИТ ТОГО.

версальным и легко расширяемым? Расширять возможности файла нам не понадобится, потому что все необходимое для хранения сетки и костей в нем уже есть. Сама 3DS Max не может сохранять или экспортировать данные в формат .x, но можно установить специальный plug-in, разработанный самой Microsoft. Этот plug-in можно найти в составе DX SDK, причем в исходных кодах. Нам остается только скомпилировать его и установить.

.x-файл обладает еще одним преимуществом: в составе функций Direct3D есть возможность загрузить сетку с помощью одной-един- ственной функции и с помощью еще одной — скелет. Корпорация Microsoft здесь очень хорошо по-

 

заботилась о нас как

Слева сетка

о программистах. Одна-

человека, похожего

ко о функциях читай

на женщину :),

чуть позже. Сейчас еще

справа — скелет

немного мысленно по-

 

щупаем скелет.

внутреннее пространство Посмо-

трим, из чего состоит скелет в .x-файле и что нам предстоит загружать. Для ясности я набросал небольшую схему, ее достаточно для понимания материала — описывать тело в подробностях я не стал. В центре этой схемы находится основная кость, вокруг которой множество других. «Основная» — это не просто любая или центральная, а именно основная кость. При ее перемещении или вращении вращается абсолютно вся сцена. У человека эту роль выполняет позвоночник, а у гуманоида — что захочешь :). Насчет гуманоидов не могу посоветовать ничего, потому что не знаю, какую игру ты планируешь и с какой планеты прилетели твои пришельцы.

Все остальные кости крепятся к основной, создавая иерархическое дерево. Если поворачи- вается какая-нибудь часть этого скелета, перемещаются все дочерние кости. Такая схема создана только для удобства, чтобы она хоть немного напоминала человека. Если взглянуть на иерархию скелета в памяти, то она покажется похожей на дерево с множеством уровней, а не на человека. Если выстроить скелет таким, как он находится в памяти, то может получиться, что нога находится на одном уровне с грудью.

Может показаться, что работать с костями адски неудобно, на самом же деле ничего сложного нет. Создавая вторую схему скелета, я всего лишь изменил положение элементов схемы,

а связи не изменялись. Все связано в той же последовательности.

загрузка скелета Для загрузки информации из .x-файла с учетом скелета можно воспользоваться функцией D3DXLoadMeshHierarchyFromX, в общем виде она выглядит следующим образом:

HRESULT D3DXLoadMeshHierarchyFromX( LPCTSTR Filename,

DWORD MeshOptions, LPDIRECT3DDEVICE9 pDevice, LPD3DXALLOCATEHIERARCHY pAlloc, LPD3DXLOADUSERDATA pUserDataLoader, LPD3DXFRAME* ppFrameHeirarchy, LPD3DXANIMATIONCONTROLLER* ppAnimController

);

Коротко пробежимся по параметрам этой функции. Filename — что-то подсказывает мне, что это путь к загружаемому .x-файлу.

MeshOptions — опции загрузки. Чаще всего будет нужна опция D3DXMESH_MANAGED, чтобы можно было управлять загруженными данными вершинного буфера. Если управление не нужно, то можно вообще ничего не указывать, чтобы использовать значения по умолчанию.

pDevice — указатель на интерфейс IDirect3DDevice. Я думаю, тут не нужно пояснять, что это такое и зачем. pAlloc — указатель на интерфейс ID3DXAllocateHierarchy, методы которого вызываются во время загрузки информации из .x-файла. Этот интерфейс необходим для выделения и освобождения фреймов и контейнера объектов.

pUserDataLoader — указатель на интерфейс ID3DXLoadUserData для загрузки пользователь-

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

E

 

 

 

 

X

 

 

 

 

 

-

 

 

 

 

d

 

 

F

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

to BUY

 

 

 

 

 

 

 

 

 

 

 

w| 55

 

 

 

 

m

w Click

 

 

 

 

o

 

w

 

 

 

 

 

 

 

 

.

 

 

 

 

.c

 

 

 

p

 

 

 

g

 

 

 

 

 

df

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

ских данных. Да, .x-файл является свободным, гибким, расширяемым, и поэтому может содержать и пользовательские данные, которые можно обработать указав здесь собственный экземпляр интерфейса ID3DXLoadUserData.

ppFrameHeirarchy — возвращает указатель на иерархию загруженных фреймов в виде массива структур D3DXFRAME.

ppAnimController — указатель на интерфейс ID3DXAnimationController, в котором будет размещена информация об анимации. Да, в .x-файле может оказаться еще и заранее подготовленная анимация. Следовать ей необязательно, но иногда очень удобно.

фреймы Остановимся подробнее на шестом параметре функции D3DXLoadMeshHierarchyFromX, где мы получаем указатель на массив структур D3DXFRAME. Что это такое? На самом деле каждая такая структура описывает определенную кость в скелете и выглядит следующим образом: typedef struct _D3DXFRAME {

LPTSTR Name;

D3DXMATRIX TransformationMatrix; LPD3DXMESHCONTAINER pMeshContainer; struct _D3DXFRAME *pFrameSibling;

struct _D3DXFRAME *pFrameFirstChild; } D3DXFRAME, *LPD3DXFRAME;

Что же есть в этой структуре и для чего «оно» предназначено?

Name — имя элемента скелета. Каждая кость может иметь свое имя, по которому достаточно удобно находить именно ту часть скелета, которая требует вращения. Зная имя кости, ты легко найдешь ее структуру, перебрав весь скелет. Указатели на наиболее часто используемые структуры лучше сохранить в глобальных переменных, и тогда ты не будешь каждый раз перебирать весь скелет, следовательно, повысишь скорость анимации.

TransformationMatrix — матрица преобразований. Определяет положение данной косточки. pMeshContainer — указатель на контейнер сетки. pFrameSibling — указатель на следующую структуру D3DXFRAME, которая находится на том же уровне. Например, все пальцы находятся на одном и том же уровне иерархии скелета, через этот указатель можно последовательно получать доступ к ним.

pFrameFirstChild — указатель на первую кость, которая находится на уровень ниже.

в движении Перейдем к алгоритму, который позволит двигать скелет. Во время движения ча- ще всего необходимо изменять матрицу преобразования не только определенной косточки (например предплечья), но и всех дочерних (всех костей, которые входят в состав руки). Приходится создавать функцию, которая должна выполнять два действия: для начала должно изменяться положе-

ние текущей кости, а после этого — вызываться рекурсивная функция. Внутри рекурсивной функции нужно изменять матрицы положения не только дочерних, но и родственных (находящихся на одном уровне) костей. Например, когда движется кисть, должны двигаться и все ее пять пальцев, которые находятся на одном уровне, а не один, первый попавшийся палец. Функция может выглядеть примерно так:

рекурсивная функция void Преобразовать

(D3DXFRAME фрейм, D3DXMATRIX матрица)

{

//Перемножаем матрицы, т.е. объединяем фрейм.TransformationMatrix *= матрица;

//Если есть родственники, то преобразовать их фреймы

if (фрейм.pFrameSibling) Преобразовать(фрейм.pFrameSibling, матрица);

//Если есть дочерние, то преобразовать их фреймы

if (фрейм.pFrameFirstChild) Преобразовать(фрейм. pFrameFirstChild, фрейм.TransformationMatrix);

}

Внимание! Во время вызова функции обновления родственных костей в качестве второго параметра передается неизмененная матрица, а при обновлении дочерних костей — уже трансформированный вариант.

итого Скелетная анимация позволяет создать анимацию движения персонажа игры легко и быстро. Если персонаж качественно смоделирован, то движения будут максимально реалистичны и пользователи по достоинству оценят твой труд.

Даже такая большая статья, как эта, не может вместить всю информацию. Я постарался показать основы, заинтересовать тебя и убедить в необходимости использовать эту технологию. Дальнейшее совершенствование знаний и умений оставляю на твоей совести. Думаю, через некоторое время я вновь подниму эту тему на моем сайте. Если возникли вопросы — пиши.

Напоследок загляни на сайт http://cherb.web.ur.ru/ mal.html — увидишь танцующего мальчика в памперсе. Это рисованная анимация, но есть и демка, в которой тот же самый мальчик танцует под хорошую музыку, причем персонаж реализован в виде сетки

mesh и скелета. Я видел эту демку примерно три года назад, а сейчас что-то не смог найти. Жаль

Модель человека tiny.x, который идет в составе с DirectX

SDK для тестирования скелетной анимации

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

w

 

 

to

56 |

ТЕОРИЯ

w Click

 

 

 

 

 

 

 

 

 

 

 

 

 

 

o

m

 

 

w

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

 

g

 

 

 

 

 

 

df

 

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

шаг в прошлое

ИГРЫ, КОТОРЫЕ МЫ НЕ ВОЗРОДИЛИ, ХОТЯ МОГЛИ

ЭТО БЫЛО НЕ ТАК ДАВНО. ВСЕГО ЛИШЬ 10-15 ЛЕТ НАЗАД. ТОГДА МЫ УЧИЛИСЬ В ШКОЛЕ, ПИЛИ ПИВО НА ПЕРЕМЕНАХ, ДЕРГАЛИ ДЕВОЧЕК ЗА КОСИЧКИ, ВЕРИЛИ ВО ЧТО-ТО ПРЕКРАСНОЕ И В ОДИН ПРЕКРАСНЫЙ МОМЕНТ ЗНАКОМИЛИСЬ С ЭВМ. КАКОЙ

ИМЕННО МОМЕНТ? КОМУ КАК ПОВЕЗЛО. КОМУ-ТО ОТЕЦ ПРИНЕС С РАБОТЫ РАЗДОЛБАННУЮ БК'ШКУ, КТО-ТО УЖЕ В СРЕДНЕЙ ШКОЛЕ ПОЗНАКОМИЛСЯ С 286-МИ ТАЧКАМИ, КТО-ТО ОБЩАЛСЯ С ИМПОРТНЫМ СПЕКТРУМОМ ИЛИ С ОДНИМ ИЗ ЕГО МНОГОЧИСЛЕННЫХ СОВЕТСКИХ КЛОНОВ. МЫ ВСЛУШИВАЛИСЬ В ШИПЕНИЕ ДИНАМИКОВ И ПОСТЕПЕННО СРОДНЯЛИСЬ С МЕХАНИЧЕСКИМ ГОЛОСОМ, КОТОРЫЙ ШЕПТАЛ

НАМ: «РЕДАКТОР И АССЕМБЛЕР…РЕДАКТОР ТЕКСТОВ..

КЛАД…ПЭКМЕН…» |ЛОЗОВСКИЙ АЛЕКСАНДР (ALEXANDER@REAL.XAKEP.RU)

быстрый счет

Не имеющая аналогов в мире игра. Есть две беговые дорожки (последовательность знаков «====» тогда называлась границей дорожки :)). В верхней — наш ГТ-человечек, в нижней — вражеский. Вражеский идет медленно, но неумолимо вперед. Наш двигается быстро, широкими скачками, но… он не может без допинга. А допингом является правильное устное решение арифметического примера, который высвечивался вверху экрана. Решать нужно было в уме, пользоваться калькулятором — читинг, к тому же тогда калькуляторы были роскошью :(. На уроках математики — и вовсе за использование мажорной «Электроники» могли надавать линейкой по рукам :). Игра имела кучу уровней сложности и недетски развивала способность к устному счету. В общем, правильная социалистическая игрушка. Must have, особенно для однозадачных «Пальмов» :).

ЧТО НАС ПОКОРИЛО?

Ê Î Ì Ì Å Í Ò À Ð È È Â Ê Î Í - Ö Å . Õ Ó Ä Ø È É Ð Å Ç Ó Ë Ü - Ò À Ò — « Í Å Õ Î Ä È Ò Å Â Ì À Ã À Ç È Í — Î Á Ì À -

Í Ó Ò » . Ë Ó × Ø È É — × Ò Î - Ò Î Â Ð Î Ä Å « Ò À Ê Î Ì Ó ß É - Ö Å Ã Î Ë Î Â Î Ì Ó Ä À Ñ Ò Ë Þ - Á À ß E X - Ñ Ñ Ñ Ð - Ä Å Â Ó Ø Ê À , Ä À Æ Å Å Ñ Ë È Ó Í Å Ã Î Í Å Ò Ì À É Ê È Î Ò A D I D A S »

( Â Î Ç Ì Î Æ Í Î , Ï Î Ñ Ë Å Ä - Í ß ß Ô Ð À Ç À Ð Î Æ Ä Å Í À Ì Î Å É Ô À Í Ò À Ç È Å É È Í Å Ì Î Æ Å Ò ß Â Ë ß Ò Ü Ñ ß Î Ñ -

Í Î Â À Í È Å Ì Ä Ë ß Â × È Í Å - Í È ß È Ñ Ê À .

лестница

В далеком 1989 году я впервые увидел компьютер.

ЧТО НАС ПОКОРИЛО?

Мне купили «Микрошу» — суперсоветскую ЭВМ, ко-

Ê Í Î Ï Î × Ê À « Ã Ò » Í À

торая не может существовать без телевизора и маг-

Ê Ë À Â È À Ò Ó Ð Å . Å Å

Í À Ç -

нитолы. На многократно зажеванной и разглажен-

 À Í È Å Ð À Ñ Ø È Ô Ð Î Â Û -

ной пленке кассеты МК60, помимо кучи полезных

 À Å Ò Ñ ß Â Î Â Ñ Å Í Å

программ, были и игры, а среди них — та самая

« Ã Ë Ó Ò À Ì È Ë Ò Ð À Í Ñ Ï Å Ï -

«Лестница». Идея ее проста: человечек идет снизу

Ò È Ä À Ç À » È Ë È

« Ã Î Ò Î Â

вверх по лабиринту (точнее, даже не по лабиринту,

Ê Ò Ð Ó Ä Ó » , Ê À Ê

Ì Î Æ Å Ò

а просто по уровням, соединенным лестницами, при-

Ï Î Ê À Ç À Ò Ü Ñ ß Ê Î Ì Ó - Í È -

чем игровое поле открывается взору полностью).

Á Ó Ä Ü : ) , À Í Å È Ç Â Å Ñ Ò Í Î

Наверху же игрового поля находится один (несколь-

Ê À Ê . Ã Ë À Â Í Î Å

Ò Î ,

ко) источников, из которых вываливаются скачущие

× Ò Î Î Í À Â Â Î Ä È Ò

Ñ È Ì -

камни. Камни (в виде символа «0») катятся вниз по

Â Î Ë , È Ç Î Á Ð À Æ À Þ Ù È É

уровням и лестницам, подпрыгивают и норовят раз-

× Å Ë Î Â Å × Ê À .

 

 

давить игрока. Цель — долезть до верха. Уровней,

 

 

 

причем самого разного дизайна, было куча. Я, к при-

 

 

 

меру, дошел до 14-го и нисколько не растерял игро-

 

 

 

вой интерес :). Не знаю, как эта игра будет воспри-

 

 

 

ниматься сейчас, но тогда она затягивала просто

 

 

 

страшно. Кстати, как ты, наверное, уже читал в Интро, именно эту игру я пытался портировать, но в итоге посеял исходники из-за проблем с Чубайсом.

порнотетрис, sexonix

Об этих играх я бы не написал ничего, если бы не настойчивые просьбы коллеги, пожелавшего остаться неизвестным (назовем его условно — «Sky»). Итак, в те далекие времена, когда киберонанистов было немного и они были не такие пресыщенные, как сейчас :), им приходилось довольствоваться малым, а именно — вот такими простыми и безыскусными играми. Например, задача «Порнотетриса» — с каждым заполненным уровнем не начислять очки, а открывать часть порноклипа (плохого качества, конечно же). В SeXonix'е же мы отвоевываем у кариозных монстров не просто абстрактную территорию, а эротическую фотографию. В принципе, правильно. Нужно же бороться за что-то светлое :).

МОРАЛЬ:

X O N I X Н У Ж Н О П О Р Т И - Р О В А Т Ь . А С С О Р Т И М Е Н Т К А Р Т И Н О К П О П Р О Ш У П О Р А З Н О О Б Р А З И Т Ь ! ЧТО НАС ПОКОРИЛО:

È Ã Ð À Î Ä Í Î É Ð Ó Ê Î É ; ) .

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

E

 

 

 

 

X

 

 

 

 

 

-

 

 

 

 

d

 

 

F

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

to BUY

 

 

 

 

 

 

 

 

 

 

 

w| 57

 

 

 

 

m

w Click

 

 

 

 

o

 

w

 

 

 

 

 

 

 

 

.

 

 

 

 

.c

 

 

 

p

 

 

 

g

 

 

 

 

 

df

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

игра без названия

Внизу карты ползает танк. Сверху на него медлен-

МОРАЛЬ:

но, но верно плывут фигуры и наша задача — ДО-

È Í Ò Å Ð Å Ñ Í Û É

СТРОИТЬ каждую фигуру до ровного прямоуголь-

Ñ Þ Æ Å Ò , Í Å È Ç Â Å Ñ Ò Í Û É

ника выстрелами из танка. Видимо, именно тогда,

À Â Ò Î Ð , Ñ Ó Ï Å Ð È Í Ò Å -

достигнув критической массы, она уничтожится

Ð Å Ñ Í À ß È Ã Ð À .

сама. В качестве бонуса — три бомбы, очищаю-

Ç À Â Å Ð Í È Ò Å !

щие весь экран от вражеских фигур. Также, есте-

 

ственно, постепенно фигуры ускоряются.

 

boomberman

Игра-король! Куча клонов, куча модификаций. Ма-

ЧТО НАС ПОКОРИЛО:

ленький анархист с бомбой ©, бегающий по лабирин-

B - O - O - O M !

там, взрывающий и убивающий все и вся — практи-

Ý Ò À Õ Î Ä ß × À ß Ë À Ì Ï Î ß -

чески супергерой поколения 90-х. Дюк Нюкем, Тер-

Ê À Ñ Å É ß À Ñ Ñ Ä Î Õ Í Å Ò !

минатор, Коммандер Кен и Рэмбо — все это дети по

 

сравнению с стареньким низкорослым тротиловым

 

парнем. Игра постоянно переделывалась всеми кому

 

не лень, и в результате превратилась в трехмерную

 

музыкальную порнографию (в худшем смысле этого

 

слова), в которую часами уже не поиграешь.

 

Как BoomberMan может быть трехмерным?

 

Как ходячие лампочки-враги могут быть супердета-

 

лизированными? Не стоит повторять ошибки таких

 

разработчиков. Возрождать игры нужно в том виде,

 

в котором мы их полюбили. Только улучшать их уже

 

некуда. Они идеальны. В свете последних политиче-

 

ских событий, наверное, эта игра будет запрещена,

 

а человек, собравшийся возродить ее — расстре-

 

лян или переправлен на базу Гуантамо для уточне-

 

ния связей с мировым терроризмом. Но если ты не

 

боишься — дерзай, для покета будет супер. Глав-

 

ное — не забыть бонусы в духе взрыва бесконеч-

 

ной длины (весь коридор) и подрыва по кнопке (а не

 

по таймеру: это так нравилось нам). BoomberMan

 

уже есть на Java, но получилось неидеально ;).

 

 

 

 

 

танки

Эта игра, скорее всего, восходит к временам «Денди». На PC она пришла позже, и сюжет ее прост: в середине карты стоит база из кирпича. Около базы стоит пара танков: твой и друга-человека. Задача — оборонять базу и убивать другие танки. В свою очередь, вражеские танки могут раздолбать кирпич базы и уничтожить ее, организовав нам game over. Из хороших бонусов запомнились силовое поле, способность плавать по воде, способность пробивать бетон (кирпич можно уничтожать и базовым оружием) и абсолютная тупость AI: глупые или пьяные танкисты только ездили и палили в белый свет, но, поскольку их было много, шансов разнести игрока оставалось порядоч- но. Игра — класс, так почему же не сделать ее мультиплеером по Bluetooth'у? Погонять на лекции в танки — неплохая идея :). Кстати, несколько лет назад я видел реализацию этой игры на Delphi с открытым сорцом.

castle war & scorched earth

Идея проста, как заповеди Мао Цзедуна из его

МОРАЛЬ:

 

 

 

красной книжечки. Есть две крепости. Есть три

C A S T L E W A R — Ý Ò Î

 

клавиши. Регулируем силу выстрела и траекторию,

Ö À Ð Ñ Ê À ß

È Ã Ð À .

 

стреляем…и не попадаем во вражескую крепость.

Ï Î Ð Ò È Ð Î Â À Ò Ü

Å Å

 

Как быть? Корректируем, стреляем. Попадание!

Á Û Ñ Ò Ð Î ,

Ä Å Ø Å Â Î ,

 

Часть крепости снесено, но на этом игра не закан-

À

È Ã Ð À — Ñ Ó Ï Å Ð !

 

чивается: она пошаговая и оппонент имеет шанс

Ñ

« Â Û Æ Æ Å Í Í Î É Ç Å -

отомстить. Что хорошего в этой игрушке? Она про-

Ì Ë Å É » Ï Î Ñ Ë Î Æ Í Å Å ,

стая, она затягивает, в нее можно играть вдвоем

Í Î Ý Ò À È Ã Ð À

— Ñ Ò Î -

(по Bluetooth? ;)) и стилуса хватит с лихвой :).

Ï Ð Î Ö Å Í Ò Í Û É

Ó Á È É Ö À

Scorched Earth — намного более продвинутая

W O R M S ' Î Â Ä Ë ß Ï Î Ê Å Ò À .

коммерческая игра. Несколько танков (и несколько

Ê À × À É Î Ð È Ã È Í À Ë

 

игроков, управляющих ими) ведут смертельный бой с

Ñ H T T P : / / 3 8 6 . B Y . R U / G A -

помощью кучи вооружений от пушки до мини- и мак-

M E / C A S T L E . Z I P È Ï Ð È -

роядерной боеголовки. Хотя нет, ядерная боеголов-

Î Á Ù À É Ñ ß .

 

 

ка — не предел. Есть еще Рука Смерти — ужасный

ЧТО НАС ПОКОРИЛО:

 

зонтик, который накрывает огромное пространство!

Ý Õ , Ê À Ê

Î Í Ï Î Ï À Ë

 

Правда, его элементы могут рикошетить от края кар-

Ï Ð ß Ì Î Â

Ö Å Í Ò Ð ? ß

Æ Å

ты и угробить самого бойца. Силовое поле не спасет,

Å Ã Î Ï Î × Ò È Ñ Ð Û Ë …

Í Ó

Рука уничтожает землю, и смерть наступит от паде-

Â Î Ò Ñ Å É × À Ñ …

 

 

ния в котлован (если не купить парашют)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha